x86 shadow: Relax assertion in VRAM tracking code
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 23 Nov 2009 06:43:50 +0000 (06:43 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 23 Nov 2009 06:43:50 +0000 (06:43 +0000)
The original assertion is too strict, as it includes the A/D bits of
the PTE, which (by design) can change under our feet.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
xen/arch/x86/mm/shadow/multi.c

index 4675eab675bf78dbadffb5e1cb1097ec0af3feb8..580c757a21b54e6191c3f0f9a239197a44379bb2 100644 (file)
@@ -1117,7 +1117,8 @@ static inline void shadow_vram_put_l1e(shadow_l1e_t old_sl1e,
             }
             else
             {
-                ASSERT(dirty_vram->sl1ma[i] == sl1ma);
+                ASSERT((dirty_vram->sl1ma[i] & PAGE_MASK) 
+                       == (sl1ma & PAGE_MASK));
                 dirty_vram->sl1ma[i] = INVALID_PADDR;
                 if ( flags & _PAGE_DIRTY )
                     dirty = 1;